<?php
/*!
 * Copyright 2016 Everex https://everex.io
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Allow cross-domain ajax requests
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');

require dirname(__FILE__) . '/../service/lib/ethplorer.php';
require dirname(__FILE__) . '/controller.php';
require_once dirname(__FILE__) . '/../service/lib/metric.php';

try {
    $aConfig = require_once dirname(__FILE__) . '/../service/config.php';
    if($debugId = filter_input(INPUT_GET, 'debugId')){
        $aConfig['debugId'] = $debugId;
    }
    if (!empty($aConfig) && !empty($aConfig['statsd'])) {
        Metrics::initMetric($aConfig['statsd']);
    }
    $es = Ethplorer::db($aConfig);
}catch(Exception $e){
    // MongoDB connection error
    $es = FALSE;
}

$ctr = new ethplorerController($es);
$result = $ctr->run();

if(!$result){
    $ctr->sendError(17, 'Invalid request, check API manual there: https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API');
}

$ctr->sendResult($result);
